/*
 * Copyright (C) hushenglan
 */

#ifndef _MYNET_EVENT_H_
#define _MYNET_EVENT_H_

namespace mynet
{

typedef enum
{
    NO_EVENT = 0,
    LISTEN_EVENT = 1,
    IN_EVENT,
    OUT_EVENT,
    ERROR_EVENT
} EventType;

class CEvent
{
public:

    /*
     * 构造函数
     */
    CEvent(void *data);

    /*
     * 析构函数
     */
    virtual ~CEvent();

    /*
     * 设置data
     */
    void setData(void *data);

    /*
     * 设置事件类型
     */
    void setEventType(EventType type);

protected:

    EventType _type;
    void *_data;

};

}

#endif
